﻿using System;

namespace Adaptive.Foundation.Tokenizers
{
    /// <summary>
    /// Provides a list of potential parsing operations that may be associated
    /// with specific characters.
    /// </summary>
    public enum CharacterTokenOperations
    {
        /// <summary>
        /// Indicates no operation association.
        /// </summary>
        None = 0,
        /// <summary>
        /// Indicates an operation to process a new list of sub-items.
        /// </summary>
        ProcessSubListStart,
        /// <summary>
        /// Indicates an operation to end the processing of a list of sub-items.
        /// </summary>
        ProcessSubListEnd,
        /// <summary>
        /// Indicates an operation to process a new string literal. 
        /// </summary>
        ProcessStringStart,
        /// <summary>
        /// Indicates an operation to end the processsing of a string literal.
        /// </summary>
        ProcessStringEnd,
        /// <summary>
        /// Indicates an operation to process a new number literal.
        /// </summary>
        ProcessNumberStart,
        /// <summary>
        /// Indicates an operation to end the processing of a number literal.
        /// </summary>
        ProcessNumberEnd,
        /// <summary>
        /// Indicates a custom parsing operation.
        /// </summary>
        Custom
   }
}